$(function() {
    $("#estadotrab").load("Combos?accion=CBO_ESTADO");
    $("#annio").load("Combos?accion=CBO_ANNO", function() {
        jsannio();
        jsRegLabLoad();
        jslimpiar();
    });
});

function jsRegLabLoad() {
    jslimpiar();
    $("#reglab").load("Combos?accion=CBO_REGLAB");
}


function jsannio() {
    jslimpiar();
    $("#uejecutora").load("Combos?accion=CBO_EJE&anno=" + $("#annio").val(), function() {
        jsuejecutora();
    });
}

function jsuejecutora() {
    jslimpiar();
    //alert ($("#annio").val());
    // alert ($("#uejecutora").val());

    $("#ctlcorte").load("Combos?accion=CBO_COR&anno=" + $("#annio").val() + "&ueje="
            + $("#uejecutora").val(), function() {
        jscorte();

    });
}

function jscorte() {
    jslimpiar();
    $("#dependencia").load("Combos?accion=CBO_DEP&anno=" + $("#annio").val()
            + "&ueje=" + $("#uejecutora").val()
            + "&idcorte=" + $("#ctlcorte").val(),
            function() {
                jsdependencia();
                jssedeload();

                // jsQry();

            }


    );
}


function jssedeload() {
    jslimpiar();
    $("#sede").load("Combos?accion=CBO_SED&anno=" + $("#annio").val() + "&id="
            + $("#ctlcorte").val() + "&idueje=" + $("#uejecutora").val());

}
function jsdependencia() {
    jslimpiar();
    $("#area").load("Combos?accion=CBO_AREA&anno=" + $("#annio").val()
            + "&ueje=" + $("#uejecutora").val()
            + "&idcorte=" + $("#ctlcorte").val()
            + "&iddependencia=" + $("#dependencia").val());

}

function jsQry() {
    
    document.getElementById("all").checked = false;
    
    $.ajax({
        url: "Asistencia",
        type: "post",
        data: {
            accion: "QRY",
            numdoc: $("#numdoc").val(),
            appaterno: $("#appaterno").val(),
            apmaterno: $("#apmaterno").val(),
            nombres: $("#nombres").val(),
            uejecutora: $("#uejecutora").val(),
            annio: $("#annio").val(),
            corte: $("#ctlcorte").val(),
            sede: $("#sede").val(),
            dependencia: $("#dependencia").val(),
            area: $("#area").val(),
            reglab: $("#reglab").val(),
            estadotrab: $("#estadotrab").val(),
        },
        success: function(data) {
            if (data.substring(0, 3) === 'Ok!') {
                data = data.substring(3, data.length);
                $("#qbody").html(data);
                

            } else {
                $("#qbody").html("");
                $("#msg").html(data);

                $("#dmsg").dialog({
                    modal: true,
                    width: 400,
                    buttons: {
                        "Cerrar": function() {
                            $(this).dialog("close");
                        }
                    }
                });
            }
        }
    });


}


function checkAll() {
    var nodoCheck = document.getElementsByName("_upd2");
    var varCheck = document.getElementById("all").checked;
    for (i = 0; i < nodoCheck.length; i++) {
        if (nodoCheck[i].type == "checkbox" && nodoCheck[i].name != "all" && nodoCheck[i].disabled == false) {
            nodoCheck[i].checked = varCheck;
        }
    }
}

function aplicaTodos() {
    var varCheck = document.getElementById("apTodos").checked;
    document.getElementById("hora_mas").disabled = !varCheck;
    document.getElementById("minu_mas").disabled = !varCheck;
    document.getElementById("obse_mas").disabled = !varCheck;

    tab = document.getElementById('list_mas');
    for (i = 0; ele = tab.getElementsByTagName('input')[i]; i++)
        ele.disabled = varCheck;
}


function jsAsi() {
    var ids = [];

    $("input[name='_upd2']:checked").each(function() {
        ids.push($(this).val());
    });

    if (ids.length === 0) {
        alert("Seleccione Fila(s) mediante Cajas de Chequeo");

    } else {
        var data = "";

        for (var f = 0; f < ids.length; ++f) {
            data += "<tr>";
            data += "<td>";
            data += "<input type=\"text\" name=\"trabajador\" readonly=\"readonly\" style=\"width: 250px\" value=\"" + $("#_trab_" + ids[f]).val() + "\"/>";
            data += "</td>";
            data += "<td>";
            data += "<input type=\"text\" class=\"hora\" name=\"hora\"  style=\"width: 50px\"/>";
            data += "</td>";
            data += "<td>";
            data += "<input type=\"text\" class=\"minuto\" name=\"minuto\"  style=\"width: 50px\"/>";
            data += "</td>";
            data += "<td>";
            data += "<input type=\"text\" name=\"observacion\" style=\"width: 250px\"/>";
            data += "</td>";
            data += "</tr>";
        }
        $("#qbody2").html(data);

        $("#fechax").load("Asistencia?accion=FECHA");
        $("#hora_mas").val("");
        $("#minu_mas").val("");
        $("#obse_mas").val("");
        $("#error_ins").text("");

        $("#dasi").dialog({
            modal: true,
            width: 660,
            buttons: {
               
                "Guardar": function() {

                    if (varCheck = document.getElementById("apTodos").checked) {
                        
                        if (esHora($("#hora_mas").val()) && esMinuto($("#minu_mas").val())) {
                            
                            $.ajax({
                                url: "Asistencia",
                                type: "post",
                                data: {
                                    accion: "MAR_MAS_AT",
                                    ids_trabajador: ids.toString(),
                                    hora: $("#hora_mas").val(),
                                    minuto: $("#minu_mas").val(),
                                    observacion: $("#obse_mas").val(),
                                    fecha: $("#fechax").text()
                                },
                                success: function(error) {
                                    if (error.length !== 0) {

                                        $("#error_ins").html(error);
                                    } else {
                                        mensaje("Asistencia Registrada a Todos");
                                        $("#dasi").dialog("close");
                                        jsQry();
                                    }
                                }
                            });
                        } else {
                            mensaje("Error en formato Hora/Minuto");
                            $("#dasi").dialog("close");
                        }


                    } else {

                        var hora = [];
                        $("input[name='hora']").each(function() {
                            hora.push($(this).val());
                        });

                        var minuto = [];
                        $("input[name='minuto']").each(function() {
                            minuto.push($(this).val());
                        });

                        var observacion = [];
                        $("input[name='observacion']").each(function() {
                            observacion.push(($(this).val() === '') ? ' ' : $(this).val());
                        });


                        $.ajax({
                            url: "Asistencia",
                            type: "post",
                            data: {
                                accion: "MAR_MAS",
                                ids_trabajador: ids.toString(),
                                hora: hora.toString(),
                                minuto: minuto.toString(),
                                observacion: observacion.toString(),
                                fecha: $("#fechax").text()
                            },
                            success: function(error) {
                                if (error.length !== 0) {

                                    $("#error_ins").html(error);
                                } else {
                                    mensaje("Asistencia Registrada");
                                    $("#dasi").dialog("close");
                                    jsQry();
                                }
                            }
                        });
                    }
                },
                 "Cerrar": function() {
                    $(this).dialog("close");
                }
            }
        });
    }
}


function  mensaje(msg) {
    
    
    $("#msg").html(msg);

    $("#dmsg").dialog({
        modal: true,
        width: 400,
        buttons: {
            "Cerrar": function() {
                $(this).dialog("close");
            }
        }
    });
}

function jsCon() {
    var idtrabajador = $("input[name='_upd']:checked").val();
    
    $("#error_con").val("");
    
     $("#qbody3").html("<tr><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td></tr>");
  

    if (isNaN(idtrabajador)) {
        alert("Seleccione Fila mediante Botones de Radio");

    } else {
        $("#trabajadorx").text($("#_trab_" + idtrabajador).val());
        $("#periodo").load("Combos?accion=CBO_PER");

        $("#dcon").dialog({
            modal: true,
            width: 650,
            buttons: {
                "Cerrar": function() {
                    $(this).dialog("close");
                }
            }
        });
    }
}





function bcon() {
    $.ajax({
        url: "Asistencia",
        type: "post",
        data: {
            accion: "MAR_CON",
            idtrabajador: $("input[name='_upd']:checked").val(),
            periodo: $("#periodo").val()
        },
        success: function(data) {
            if (data.substring(0, 3) === 'Ok!') {
                data = data.substring(3, data.length);

                $("#qbody3").html(data);
                $("#error_con").html("");

            } else {
                $("#qbody3").html("");
                $("#error_con").html(data);
            }
        }
    });
}


function esHora(x) {
    var y = parseInt(x);

    if (isNaN(y))
        return false;
    if (y < 0 || y > 23)
        return false;

    return x == y && x.toString() == y.toString();
}

function esMinuto(x) {
    var y = parseInt(x);
    if (isNaN(y))
        return false;
    if (y < 0 || y > 59)
        return false;

    return x == y && x.toString() == y.toString();
}


function esHora2Mayor(sHora1, sMinuto1, sHora2, sMinuto2) {

    // Obtener horas y minutos (hora 1) 
    var hh1 = parseInt(sHora1, 10);
    var mm1 = parseInt(sMinuto1, 10);

    // Obtener horas y minutos (hora 2) 
    var hh2 = parseInt(sHora2, 10);
    var mm2 = parseInt(sMinuto2, 10);

    // Comparar 
    if (hh1 < hh2 || (hh1 == hh2 && mm1 < mm2)) {
        alert("hora 2 es mayor");
        return true;
    } else if (hh1 > hh2 || (hh1 == hh2 && mm1 > mm2)) {
        alert("hora 1 es mayor");
        return false;
    } else {
        alert("son iguales");
        return false;
    }
}

function jslimpiar() {
    $("#qbody").html("<tr><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td><td>&nbsp;&nbsp;</td></tr>");
    //    $("#doc_bus").val('');

}
function tiempoTranscurrido(sHora1, sMinuto1, sHora2, sMinuto2) {

    // Obtener horas y minutos (hora 1) 
    var hh1 = parseInt(sHora1, 10);
    var mm1 = parseInt(sMinuto1, 10);

    // Obtener horas y minutos (hora 2) 
    var hh2 = parseInt(sHora2, 10);
    var mm2 = parseInt(sMinuto2, 10);

    // Comparar 

    var mmtt1 = (hh1 * 60) + mm1;
    var mmtt2 = (hh2 * 60) + mm2;
    var mmdif = mmtt2 - mmtt1;
    var mmResto = mmdif % 60;
    var hhdif = (mmdif - mmResto) / 60;

    hhdif = hhdif.toString();
    while (hhdif.length < 2)
        hhdif = "0" + hhdif;
    mmResto = mmResto.toString();
    while (mmResto.length < 2)
        mmResto = "0" + mmResto;

    var respuesta = hhdif + ":" + mmResto;

    return respuesta;
}

function jsExcel() {
    var data = "";

    $("#qbody3").find('td', 'th').each(function() {
        data += $(this).text() + ";";
    });


    $("#periodo_excel").val($("#periodo option:selected").text());
    //$("#trabajador_excel").val($("#trabajadorx").text());
    
//    alert($("#periodo option:selected").text());
//    alert($("#trabajadorx").text());
    
    if (data !== "") {
        $("#data_excel").val(data);
        document.forms["to_excel"].submit();
    }
}
